#!/usr/bin/env python
#coding=utf8
"""
这个程序有三个函数，一个注册函数，一个获取用户名密码函数，一个登录函数
"""

import pickle

"""
这是个注册函数，接受用户注册，并把注册的数据以字典的格式存到文件里
"""
def register():
    print("注册用户")
    the_name=input("请输入你的用户：")
    while True:
        the_passwd1=input("请输入你的密码：")
        the_passwd2=input("请再次输入你的密码：")
        if the_passwd1 != the_passwd2:
            print("两次密码输入的不一致，请重新输入")
            continue
        the_passwd = the_passwd1
        try:
            with open("passwd.txt","wb") as the_file:
                pickle.dump({the_name:the_passwd},the_file)
        except BaseException as err:
            print(str(err))   
        break


"""
这是个用户名密码获取函数
"""
def get_pass():
    try:
        with open("passwd.txt","rb") as the_file:
            return pickle.load(the_file)
    except BaseException as err:
        print(str(err))


"""
这是个登录函数
"""
def login():
    chance=0
    while chance < 5:
        print("请登录")
        try_name=input("请输入你的用户：")
        try_passwd=input("请输入你的密码:")
        the_name_passwd=get_pass()
        if try_name not in the_name_passwd:
            print("用户名错误，请重新输入:")
            chance=chance+1
            continue
        the_name=try_name
        the_passwd=the_name_passwd[the_name]
        if try_passwd != the_passwd:
            print("密码错误，请重新输入:") 
            chance=chance+1
            continue
        print("用户名密码输入正确")
        print("程序结束")
        break
    else:
        print("用户名密码输入错误次数过多，程序结束")


if __name__ == "__main__":
    register()
    login()
